package me.flyray.bsin.facade.service;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.Map;

@Path("account")
public interface HysqAccountService {

    /**
     * 开通钱包
     */
    @POST
    @Path("openWallet")
    @Produces("application/json")
    public Map<String,Object> openWallet(Map<String, Object> requestMap);

    /**
     * 查看钱包详情
     */
    @POST
    @Path("getWalletDetail")
    @Produces("application/json")
    public Map<String,Object> getWalletDetail(Map<String, Object> requestMap);

    /**
     * 充值
     */
    @POST
    @Path("recharge")
    @Produces("application/json")
    public Map<String,Object> recharge(Map<String, Object> requestMap);

    /**
     * 提现
     */
    @POST
    @Path("withdraw")
    @Produces("application/json")
    public Map<String,Object> withdraw(Map<String, Object> requestMap);

    /**
     * 支付
     */
    @POST
    @Path("payment")
    @Produces("application/json")
    public Map<String,Object> pay(Map<String, Object> requestMap);

    /**
     * 转账
     */
    @POST
    @Path("transfer")
    @Produces("application/json")
    public Map<String,Object> transfer(Map<String, Object> requestMap);

    /**
     * 退款
     */
    @POST
    @Path("refund")
    @Produces("application/json")
    public Map<String,Object> refund(Map<String, Object> requestMap);

    /**
     * 查看账单流水
     */
    @POST
    @Path("getAccountSerials")
    @Produces("application/json")
    public Map<String,Object> getAccountSerials(Map<String, Object> requestMap);

    /**
     * 入账
     */
    @POST
    @Path("inAccount")
    @Produces("application/json")
    public Map<String,Object> inAccount(Map<String, Object> requestMap);

    /**
     * 出账
     */
    @POST
    @Path("outAccount")
    @Produces("application/json")
    public Map<String,Object> outAccount(Map<String, Object> requestMap);


    /**
     * 冻结
     */
    @POST
    @Path("freeze")
    @Produces("application/json")
    public Map<String,Object> freeze(Map<String, Object> requestMap);


    /**
     * 解冻并出账
     */
    @POST
    @Path("unfreezeAnd0utAccount")
    @Produces("application/json")
    public Map<String,Object> unfreezeAnd0utAccount(Map<String, Object> requestMap);

    /**
     * 查询汇率
     */
    @POST
    @Path("getExchangeRate")
    @Produces("application/json")
    public Map<String,Object> getExchangeRate(Map<String, Object> requestMap);

}
